1. Technical Field
The present invention relates to rendering graphical user interface (GUI) elements in a content browser and more particularly to emulating advanced GUI elements in a content browser.
2. Description of the Related Art
Prior to the popularization of the Internet and the subsequent deployment of the World Wide Web, software publishers typically distributed computer applications via storage media such as a computer diskette or compact disc. Initially, such stand-alone computer applications included underlying program logic, data storage and, optionally, a user interface. Over time, as the processing capabilities of underlying computing devices evolved, increasingly more complex user interfaces were developed for use with corresponding computer applications. In particular, the advent of the graphical user interface (GUI) resulted in an expectation among end users that a computer application include an intuitive and aesthetically pleasing graphical interface through which end users could effectively interact with the computer application.
Recently, given the popularization of the Internet and the World Wide Web, it is no longer reasonable to presume that computer applications are distributed exclusively via disk medium. Rather, in many cases, conventional computer programs are distributed electronically via the Internet. More importantly, however, in many cases computer applications are no longer distributed as stand-alone executable programs. Rather, many computer applications are distributed as Web applications which can include a collection of hypermedia documents such as Web pages which can be viewed in hypermedia content browsers such as Web browsers.
In the case of a Web application, the user interacts with the underlying program logic not through a traditional GUI, but through a GUI provided by GUI elements e embedded in a hypermedia document displayed in a hypermedia content browser. Unfortunately, the Web-based GUI does not enjoy the same flexibility as the conventional GUI. Specifically, advanced GUI elements of conventional, stand-alone executable applications which can be dynamically modified during run-time are not also included as part of a Web-enabled GUI. In fact, fundamental limitations of modern markup languages such as HTML prohibit software developers from accessing advanced GUI elements such as an expandable/collapsible image, a tab on a property sheet, and the like.
Nevertheless, applications that are distributed both in Web-based and stand-alone environments preferably should behave in a similar fashion in order to maximize program ease of use and to enable the use of a single application code base and set of educational/help materials. To achieve consistent behavior among Web-based and stand-alone computer programs, advanced GUI elements need to be provided in the Web-served environment, since end users expect to interact with advanced GUI elements in a stand-alone environment.
Presently, advanced GUI elements are provided in a Web served environment using client-side computer logic typically implemented using a scripting language such as Visual Basic™ Script and JavaScript™ or newer browser technologies such as Dynamic HTML. The use of particular scripting languages and browser technologies, IQ-s however, can hinder platform portability in consequence of browser and interpreter incompatibilities. Hence, what is needed is a method for emulating advanced GUI elements in a content browser without further requiring the assistance of client-side program logic.